The present invention relates to electronic spreadsheets, and particularly to spreadsheets applied to processing continuous data streams.
The superior ease-of-use characteristics of electronic spreadsheets are well-known, especially in the field of office automation. The use of electronic spreadsheets in other fields is also known, although in the past, certain computer applications have been unable to take full advantage of the spreadsheet metaphor. One reason for this is that a large class of computer applications require algorithms that operate over time-based intervals of a continuous data stream, and conventional spreadsheets provide no intrinsic support for continuous data processing over more than one processing interval.
An electronic spreadsheet is, essentially, a means of graphically representing a set of expressions as a grid of cells. Each cell in the spreadsheet grid represents a parenthetical expression that can, in turn, be a function of some number of other cellular expressions.
A spreadsheet program updates its grid, as necessary, to maintain the programmed relationship between cellular expressions. Electronic spreadsheets are intended to provide immediate response to any modifications of the programmed expressions. However, in conventional electronic spreadsheets, cellular expressions have no means for accessing previously evaluated results from prior processing intervals. Absent this capability, it is impossible for a conventional spreadsheet to process a continuous data stream of incoming data on a time-based interval of a duration greater than one processing interval.
Although methods for implementing algorithms that operate on continuous data streams are well-known in computer programming, no methods are known for implementing this class of processing within the context of an electronic spreadsheet.
The invention provides an electronic spreadsheet adapted for programming the processing of continuous data streams. The invention also provides means and methods that, to a high degree preserve the fundamental characteristics of conventional electronic spreadsheets. The invention also provides means and methods, which are uncomplicated and intuitive to use.
These benefits and features are accomplished by extending the spreadsheet paradigm to include apparatuses and methods of clocked data buffering, such as by using shift registers, delay lines, FIFOs, pipelines, and even random access memory. The use of shift registers is preferred because shift registers do not require addressing. Delay lines objects are instantiated (memory is allocated for each delay line object) and assigned to spreadsheet cells (each allocated memory is associated with the coordinates of a cell). A delay line object includes a data buffer configured as a variable length shift register, and a method for clocking data through the buffer. In a preferred embodiment, input data streams supply the clocking signals, and xe2x80x9ctap functionsxe2x80x9d support random access of elements, and other analysis over the buffered interval.
The invention extends the conventional electronic spreadsheet paradigm to include the processing of continuous data streams on finite intervals.